package com.tbit.uqbike.webmanager.dao.core;

import com.tbit.uqbike.object.pojo.BatteryModelChart;
import com.tbit.uqbike.object.pojo.dto.BatteryModelChartUpdateDTO;
import com.tbit.uqbike.object.pojo.vo.BatteryModelChartVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电池型号
 *
 * @Author:BUGTian
 * @DATE: 2022/5/10
 */
public interface BatteryModelChartDao {

    /**
     * 添加电池型号
     *
     * @param batteryModelChart 电池信号信息
     */
    void insert(BatteryModelChart batteryModelChart);

    /**
     * 根据品牌id查询
     *
     * @param accountIds
     * @return
     */
    List<BatteryModelChartVO> queryByAccountIds(Integer[] accountIds);

    /**
     * 更新电池型号信息
     *
     * @param batteryModelChartUpdateDTO 电池型号信息
     */
    void updateByBatteryModelId(BatteryModelChartUpdateDTO batteryModelChartUpdateDTO);

    /**
     * 查询电池型号绑定电池数量
     *
     * @param batteryModelIds 电池型号id
     * @return
     */
    int selectBoundCount(Integer[] batteryModelIds);

    /**
     * 删除电池型号
     *
     * @param batteryModelIds 电池型号id
     */
    void deleteByBatteryModelId(Integer[] batteryModelIds);

    /**
     * 根据型号和品牌id查询数量
     *
     * @param batteryModel
     * @param accountId
     * @return
     */
    int selectCountByBatteryModel(@Param("batteryModel") String batteryModel, @Param("accountId") Integer accountId);
}
